// 在页面中定义激励视频广告
let videoAd = null

const initVideoAd = (callback) => {
  // 在页面onLoad回调事件中创建激励视频广告实例
  if (wx.createRewardedVideoAd) {
    videoAd = wx.createRewardedVideoAd({
      adUnitId: 'adunit-234ba9a4e19db710'
    })
    //
    videoAd.onLoad(() => {})
    videoAd.onError((err) => {
      console.error('激励视频光告加载失败', err)
    })
    videoAd.onClose((res) => {
      if (res && res.isEnded) {
        // 正常播放结束，可以下发游戏奖励
        callback && callback();
        videoAd = null;
      } else {
        // 播放中途退出，不下发游戏奖励
      }
    })
  }
}

const showVideoAd = () => {
  wx.showModal({
    title: '温馨提示',
    content: '完整观看视频广告，获取小程序源代码和制作教程',
    complete: (res) => {
      if (res.cancel) {

      }

      if (res.confirm) {
        try {
          // 用户触发广告后，显示激励视频广告
          if (videoAd) {
            videoAd.show().catch(() => {
              // 失败重试
              videoAd.load()
                .then(() => {
                  videoAd.show()
                })
                .catch(err => {
                  console.error('激励视频 广告显示失败', err)
                })
            })
          }
        } catch (e) {
          console.log(e)
        }
      }
    }
  })
}

module.exports = {
  initVideoAd,
  showVideoAd
}